package com.micro.util;

import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class ExportWordUtil {
    public static boolean writeWordFile(String subjectTitle, String subjectContent) {
        boolean w = false;
        String path = "c:/";
        try {
            if (!"".equals(path)) {
                // 检查目录是否存在
                File fileDir = new File(path);
                if (fileDir.exists()) {
                    // 生成临时文件名称
                    String fileName = subjectTitle + ".doc";
                    //使用传html 转word
                    byte b[] = subjectContent.getBytes("UTF-8");
                    ByteArrayInputStream bais = new ByteArrayInputStream(b);
                    POIFSFileSystem poifs = new POIFSFileSystem();
                    DirectoryEntry directory = poifs.getRoot();
                    DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);
                    FileOutputStream ostream = new FileOutputStream(path + fileName);
                    poifs.writeFilesystem(ostream);
                    bais.close();
                    ostream.close();
                    System.out.println("完成");
/*
                访问桌面上的html转word
                    ByteArrayOutputStream bos = new ByteArrayOutputStream();
                    FileInputStream fis = new FileInputStream("C:\\Users\\ghost\\Desktop\\1.html");
                    int b = -1;
                    while ((b = fis.read()) != -1) {
                        bos.write(b);
                    }
                    fis.close();
                    bos.close();
                    ByteArrayInputStream bais = new ByteArrayInputStream(bos.toByteArray());
                    POIFSFileSystem poifs = new POIFSFileSystem();
                    DirectoryEntry directory = poifs.getRoot();
                    DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);
                    FileOutputStream ostream = new FileOutputStream(path + fileName);
                    poifs.writeFilesystem(ostream);
                    bais.close();
                    ostream.close();
*/
                }
            }

        } catch (IOException e) {
            e.printStackTrace();
        }

        return w;
    }

    public static void main(String[] args){
//        writeWordFile();
    }
}
